package com.xyy.saas.payment.dao.model;

import java.io.Serializable;
import java.util.Date;

/**
 * 结算冻结
 */
public class FrozenSettlement implements Serializable {
    private Long id;
    private String merchantNo;
    private String accountId;
    private String accountNo;
    private String businessOrderType;
    private String tradeType;
    private String amount;
    private String frozenAmount;
    private String frozenFlowNo;
    private String unfrozenAmount;
    private String unfrozenFlowNo;
    private Date tradeDate;
    private Date frozenDate;
    private Date unfrozenDate;
    private Integer status;
    private String message;
    private String remark;
    private Date createTime;
    private Date updateTime;

    /**
     * 构建对象
     */
    public static FrozenSettlement build(String merchantNo, String accountId, String accountNo, String businessOrderType,
                                         String tradeType, String amount, Date tradeDate, Date frozenDate)
    {
        FrozenSettlement frozenSettlement = new FrozenSettlement();
        frozenSettlement.setMerchantNo(merchantNo);
        frozenSettlement.setAccountId(accountId);
        frozenSettlement.setAccountNo(accountNo);
        frozenSettlement.setBusinessOrderType(businessOrderType);
        frozenSettlement.setTradeType(tradeType);
        frozenSettlement.setAmount(amount);
        frozenSettlement.setTradeDate(tradeDate);
        frozenSettlement.setFrozenDate(frozenDate);
        return frozenSettlement;
    }

    /**
     * 构建对象
     */
    public static FrozenSettlement build(String merchantNo, String accountId, String accountNo, String businessOrderType,
                                         String tradeType, String amount, Date tradeDate, Date frozenDate, Integer status, String message)
    {
        FrozenSettlement frozenSettlement = build(merchantNo, accountId, accountNo, businessOrderType,
                tradeType, amount, tradeDate, frozenDate);
        frozenSettlement.setStatus(status);
        frozenSettlement.setMessage(message);
        return frozenSettlement;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getMerchantNo() {
        return merchantNo;
    }

    public void setMerchantNo(String merchantNo) {
        this.merchantNo = merchantNo;
    }

    public String getAccountId() {
        return accountId;
    }

    public void setAccountId(String accountId) {
        this.accountId = accountId;
    }

    public String getAccountNo() {
        return accountNo;
    }

    public void setAccountNo(String accountNo) {
        this.accountNo = accountNo;
    }

    public String getBusinessOrderType() {
        return businessOrderType;
    }

    public void setBusinessOrderType(String businessOrderType) {
        this.businessOrderType = businessOrderType;
    }

    public String getTradeType() {
        return tradeType;
    }

    public void setTradeType(String tradeType) {
        this.tradeType = tradeType;
    }

    public String getAmount() {
        return amount;
    }

    public void setAmount(String amount) {
        this.amount = amount;
    }

    public String getFrozenAmount() {
        return frozenAmount;
    }

    public void setFrozenAmount(String frozenAmount) {
        this.frozenAmount = frozenAmount;
    }

    public String getFrozenFlowNo() {
        return frozenFlowNo;
    }

    public void setFrozenFlowNo(String frozenFlowNo) {
        this.frozenFlowNo = frozenFlowNo;
    }

    public String getUnfrozenAmount() {
        return unfrozenAmount;
    }

    public void setUnfrozenAmount(String unfrozenAmount) {
        this.unfrozenAmount = unfrozenAmount;
    }

    public String getUnfrozenFlowNo() {
        return unfrozenFlowNo;
    }

    public void setUnfrozenFlowNo(String unfrozenFlowNo) {
        this.unfrozenFlowNo = unfrozenFlowNo;
    }

    public Date getTradeDate() {
        return tradeDate;
    }

    public void setTradeDate(Date tradeDate) {
        this.tradeDate = tradeDate;
    }

    public Date getFrozenDate() {
        return frozenDate;
    }

    public void setFrozenDate(Date frozenDate) {
        this.frozenDate = frozenDate;
    }

    public Date getUnfrozenDate() {
        return unfrozenDate;
    }

    public void setUnfrozenDate(Date unfrozenDate) {
        this.unfrozenDate = unfrozenDate;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
}
